In today's telephony and communication networks, call completion may require traversal through multiple switches and/or network elements that are owned, operated or controlled by multiple service providers. When a call is to be terminated to a communications device whose location varies over time, typically the call must be routed to a home switch or exchange of a carrier or service provider corresponding to the communications device, and the home switch or exchange accesses a routing database to determine the current location of the communications device. For example, if the communications device is a mobile phone, the call is routed to a home switch of the mobile phone, the home switch accesses a Home Location Register/Visiting Location Register to determine a visiting switch to which the call should be delivered for termination. In another example, when a called subscriber or party has activated a “follow me” feature and has directed calls to be received at a selected Voice over Internet Protocol (VoIP) communications device, the call is routed to a VoIP gateway of a VoIP service provider and an E.164 Number Mapping (ENUM) database must be accessed to terminate the call to the selected VoIP communications device. In yet another example, an extra query to a Service Control Point (SCP), Intelligent Network node, or some other services provider node or exchange is required in order to obtain the current location of a called party for terminating a call.
These and other variable call termination location call scenarios may incur excessive costs as each company, owner, carrier or service provider controlling each of the network elements (e.g., mobile service provider home switch, VoIP service provider gateway, etc.) may charge for connecting with its particular network element. Carriers are required to negotiate multiple complex network connection and access agreements with multiple other providers, and may reflect or pass along resulting increased costs to their subscribers. Furthermore, the time to deliver a call to a variable location is increased, as the call must be routed to another exchange or node to determine a current location for call termination, or extra messaging to/from an additional node must be performed in order to determine the current location.